package com.example.kotlinstudy

import android.os.Bundle
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.example.kotlinstudy.adapter.RecyclerAdapter

class RecyclerViewActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        enableEdgeToEdge()
        setContentView(R.layout.activity_recycler_view)
        ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets ->
            val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
            v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
            insets
        }

        // 初始化RecyclerView控件
        val recyclerView = findViewById<RecyclerView>(R.id.recyclerView)

        // 设置水平布局管理器参数-线型
        // context - 当前上下文
        // orientation - 布局方向为水平(HORIZONTAL)
        // reverseLayout - false表示不反向排列
        recyclerView.layoutManager = LinearLayoutManager(
            this, // 上下文
            LinearLayoutManager.VERTICAL, // 方向
            false // 反转
        )

        // 小格子
//        recyclerView.layoutManager = GridLayoutManager(this, 3)


        // 创建20条模拟数据，类型为 RecyclerAdapter.itemData
        // text属性 黑马程序员结合索引  ，icon 固定是 ikun这张图
        val items = (0..20).map {
            RecyclerAdapter.ItemData(
                R.drawable.ikun,
                "黑马程序员 $it"
            )
        }


        // 设置自定义适配器MyAdapter，传入模拟数据列表
        recyclerView.adapter = RecyclerAdapter(items)
    }
}